require("nvim-tree").setup(
    {
        -- 自动关闭
        -- auto_close = true,
        -- 视图
        view = {
            -- 宽度
            width = 30,
            -- 高度
            height = 30,
            -- 隐藏顶部的根目录显示
            hide_root_folder = true,
            -- 自动调整大小
            -- auto_resize = true
        },
        diagnostics = {
            -- 是否启用文件诊断信息
            enable = true,
            icons = {
                hint = "",
                info = "",
                warning = "",
                error = ""
            }
        },
        git = {
            -- 是否启用 git 信息
            enable = true,
            ignore = true,
            timeout = 500
        }
    }
)

-- 默认图标，可自行修改
vim.g.nvim_tree_icons = {
    default = " ",
    symlink = " ",
    git = {
        unstaged = "",
        staged = "✓",
        unmerged = "",
        renamed = "➜",
        untracked = "",
        deleted = "",
        ignored = ""
    },
    folder = {
        -- arrow_open = "╰─▸",
        -- arrow_closed = "├─▸",
        arrow_open = "",
        arrow_closed = "",
        default = "",
        open = "",
        empty = "",
        empty_open = "",
        symlink = "",
        symlink_open = ""
    }
}

-- 目录后加上反斜杠 /
vim.g.nvim_tree_add_trailing = 1

-- -- 按 leader 1 打开文件树
-- -- vim.keybinds.gmap("n", "<leader>1", "<cmd>NvimTreeToggle<CR>", vim.keybinds.opts)
-- -- 按 leader e 打开文件树
-- vim.keybinds.gmap("n", "<leader>e", "<cmd>NvimTreeToggle<CR>", vim.keybinds.opts)
-- -- 按 leader f 在文件树中找到当前以打开文件的位置
-- vim.keybinds.gmap("n", "<leader>f", "<cmd>NvimTreeFindFile<CR>", vim.keybinds.opts)

-- 默认按键
-- o     ：打开目录或文件
-- a     ：新增目录或文件
-- r     ：重命名目录或文件
-- x     ：剪切目录或文件
-- c     ：复制目录或文件
-- d     ：删除目录或文件
-- y     ：复制目录或文件名称
-- Y     ：复制目录或文件相对路径
-- gy    ：复制目录或文件绝对路径
-- p     ：粘贴目录或文件
-- s     ：使用系统默认程序打开目录或文件
-- <Tab> ：将文件添加到缓冲区，但不移动光标
-- <C-v> ：垂直分屏打开文件
-- <C-x> ：水平分屏打开文件
-- <C-]> ：进入光标下的目录
-- <C-r> ：重命名目录或文件，删除已有目录名称
-- -     ：返回上层目录
-- I     ：切换隐藏文件/目录的可见性
-- H     ：切换点文件的可见性
-- R     ：刷新资源管理器
-- 另外，文件资源管理器操作和操作文档方式一致，可按 / ? 进行搜索

-- 默认操作
-- <CR>或o在根文件夹上将 cd 在上述目录中
-- <C-]>将cd在光标下的目录中
-- <BS>将关闭当前打开的目录或父目录
-- 键入a以添加文件。添加目录需要/在路径末尾留一个前导。
-- 您可以通过执行 foo/bar/baz/f 添加多个目录，它将添加 foo bar 和 baz 目录以及 f 作为文件

-- 键入r以重命名文件
-- 键入<C-r>以重命名文件并在输入时省略文件名
-- 键入x以添加/删除文件/目录以剪切剪贴板
-- 键入c以添加/删除文件/目录以复制剪贴板
-- typey将名称复制到系统剪贴板
-- typeY将相对路径复制到系统剪贴板
-- typegy将绝对路径复制到系统剪贴板
-- 键入p以从剪贴板粘贴。剪切剪贴板优先于复制（将提示确认）
-- 输入d删除文件（将提示确认）
-- 输入D垃圾文件（在 setup() 中配置）
-- 键入]c以转到下一个 git 项目
-- 键入[c以转到上一个 git 项目
-- 键入-以向上导航到当前文件/目录的父目录
-- 键入s以使用默认系统应用程序打开文件或使用默认文件管理器打开文件夹（如果要更改用于执行此操作的命令，请参见:h nvim-tree.setup下system_open）
-- 如果文件是目录，<CR>将打开目录，否则将在树附近的缓冲区中打开文件
-- 如果文件是符号链接，<CR>将遵循符号链接（如果目标是文件）
-- <C-v>将以垂直拆分方式打开文件
-- <C-x>将以水平拆分方式打开文件
-- <C-t>将在新选项卡中打开文件
-- <Tab>将打开文件作为预览（将光标保持在树中）
-- I将切换隐藏文件夹/文件的可见性
-- H将切换点文件的可见性（以 a 开头的文件/文件夹.）
-- R将刷新树
-- 双击左键就像<CR>
-- 双击右键就像<C-]>
-- W会使整棵树倒塌
-- S将提示用户输入路径，然后展开树以匹配路径
-- .将使用光标所在的文件进入 vim 命令模式
-- C-k将切换一个弹出窗口，其中包含有关光标下文件的文件信息

